<?php

/**
 * Devuelve el tag html 'img' de la foto pasada como parámetro
 */
function photo_tag($photo)
{
    $width = $photo['width'] * $photo['aspect_ratio'];
    $html = '<img class="large" src="uploaded/'.$photo['filename'].'" '.
        'alt="'.$photo['title'].'" '.
        'title="'.$photo['title'].'" '.
        'width="'.$width.'">';
    return $html;
}

/**
 * Devuelve el tag html 'img' de la foto pasada como parámetro
 * mostrándola en tamaño pequeño
 */
function thumbnail_photo_tag($photo)
{
    $photo_thumbnail = $photo;
    $photo_thumbnail['aspect_ratio'] /= 3;
    return photo_tag($photo_thumbnail);
}

/**
 * Devuelve mensaje "Foto XX de XX"
 */
function photo_position($n, $total)
{
    return "<p>Foto $n de $total</p>";
}

/**
 * Devuelve enlace a la foto siguiente
 */
function link_to_next_photo($photo_id)
{
    global $photos;
    $ids = array_keys($photos);
    $position = array_search($photo_id, $ids) + 1;
    $text = '<img src="images/arrow_right.png" alt="Siguiente">';
    if (array_key_exists($position, $ids)) {        
        $url = $PHP_SELF."?id=$ids[$position]";
        return link_to($text, $url);
    } else {
        return $text;
    }
}

/**
 * Devuelve enlace a la foto anterior
 */
function link_to_previous_photo($photo_id)
{
    global $photos;
    $ids = array_keys($photos);
    $position = array_search($photo_id, $ids) - 1;
    $text = '<img src="images/arrow_left.png" alt="Anterior">';
    if (array_key_exists($position, $ids)) {
        $url = $PHP_SELF."?id=$ids[$position]";
        return link_to($text, $url);
    } else {
        return $text;
    }
}

/**
 * Devuelve enlace al texto pasado como primer parámetro
 */
function link_to($text, $href=null)
{
    return '<a href="'.$href.'">'.$text.'</a>';
}